home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-08-21 | 7.1 KB | 200 lines | [04] ASCII Text (0x0000) |
- GSBug 1.5b10 Release Notes
- by Dave Lyons
-
- Stepping in emulation mode should be much more reliable now, although it isn't
- perfect (in particular, one place where there's a window of vulnerability is
- using X on a JSR in emulation modeQbut if you have the I bit set in your P
- register there's no problem).
-
- Having the stack in $01xx works much better now, whether you're in emulation or
- not. This works by frequently stuffing a $80 into $01/0100 (EMULSTACK, the
- location the interrupt manager and other things use to set the $01xx stack
- when needed).
-
- If you trace code that actually uses the $01/0100 value to set the stack pointer,
- you still have a problem, since your program will start using the part of the stack
- that gets toasted on every interrupt.
-
- You can now type in GSBug even if the Event Manager is on but keyboard
- interrupts are off. Previously this would leave you dead in the water.
-
- Files created with CSave now have a real filetype/auxtype assignment
- ($5A/0005).
-
- Fixed DebugStr to return no error (previously it was returning the high two
- bytes of the caller's address as an error).
-
- Took out code that was checking $C020 (not SLOTREG at $C02D) to see if the
- printer slot was switched in. Makes no sense anyway, because a printer can
- legitimately be either an internal or external slot.
-
- Brought the list of Toolbox call names up to date for System Software 5.0.3
- (see changes below).
-
- Added tool set names (for example, $0002 is "Memory Manager"). For some time,
- you've been able to use SetTBrk with a tool set number, to force a break on
- every call to that tool set. Now you can do it by name, too.
-
- Examples:
-
- SetTBrk #2
- SetTBrk _Memory Manager
- ShowBrks
-
- Saved about 900 bytes by removing many extra copies of the string "Unknown."
-
- Obsolete call names removed:
- 1522 TEInsertPageBreak
- 2022 TEGetHooks
- 2122 TESetHooks
- 2222 TEGetDefProc
-
- Call names corrected:
- 0D02 RemoveFromOOMQueue
- 2115 SelectIText
- 1021 VDKeyGetKRCol
- 1121 VDKeyGetKGCol
- 1221 VDKeyGetKBCol
-
-
- Call names added:
- 3603 ReleaseROMResource 3703 ConvSeconds 010A SANEBootInit
- 020A SANEStartUp 030A SANEShutDown 040A SANEVersion
- 050A SANEReset 060A SANEStatus 090A FPNum
- 0A0A DecStrNum 0B0A ElemNum 5D0E TaskMasterContent
- 5E0E TaskMasterKey 1713 GetDeviceName 1813 PrGetPrinterSpecs
- 1913 PrDevPrChanged 1A13 PrDevStartup 1B13 PrDevShutDown
- 1C13 PrDevOpen 1D13 PrDevRead 1E13 PrDevWrite
- 1F13 PrDevClose 2013 PrDevStatus 2113 PrDevAsyncRead
- 2213 PrDevWriteBackground 3013 PrDevIsItSafe 2022 TEOffsetToPoint
- 2122 TEPointToOffset 2222 TEGetDefProc 2322 TEGetRuler
- 2422 TESetRuler 2522 TEScroll 2622 TEGetInternalProc
- 2722 TEGetLastError 2822 TECompactRecord
- 0123 MSBoot 0223 MSStartUp 0323 MSShutDown
- 0423 MSVersion 0523 MSReset 0623 MSStatus
- 0923 SetBasicChan 0A23 SetMIDIMode 0B23 PlayNote
- 0C23 StopNote 0D23 KillAllNotes 0E23 SetRecTrack
- 0F23 SetPlayTrack 1023 TrackToChan 1123 Locate
- 1223 SetVelComp 1323 SetMIDIPort 1423 SetInstrument
- 1523 SeqPlayer 1623 SetTempo 1723 SetCallBack
- 1823 SysExOut 1923 SetBeat 1A23 MIDIMessage
- 1B23 LocateEnd 1C23 Merge 1D23 DeleteTrack
- 1E23 SetMetro 1F23 GetMSData 2023 ConvertToTime
- 2123 ConvertToMeasure 2223 MSSuspend 2323 MSResume
- 2423 SetTuningTable 2523 GetTuningTable 2623 SetTrackOut
- 2723 StartMIDIDriver 2823 StopMIDIdriver 04FF DebugVersion
- 06FF DebugStatus 09FF DebugStr 0AFF SetMileStone
-
-
- Tool Set Names (You can use these with SetTBrk.)
- 0001 Tool Locator
- 0002 Memory Manager
- 0003 Misc Tools
- 0004 QuickDraw
- 0005 Desk Manager
- 0006 Event Manager
- 0007 Scheduler
- 0008 Sound Tools
- 0009 ADB
- 000A SANE
- 000B Integer Math
- 000C Text Tools
- 000E Window Manager
- 000F Menu Manager
- 0010 Control Manager
- 0011 Loader
- 0012 QuickDraw Aux
- 0013 Print Manager
- 0014 Line Edit
- 0015 Dialog Manager
- 0016 Scrap Manager
- 0017 Standard File
- 0019 Note Synth
- 001A Note Seq
- 001B Font Manager
- 001C List Manager
- 001D ACE
- 001E Resource Manager
- 0020 Midi
- 0021 Video Overlay
- 0022 Text Edit
- 0023 MIDI Synth
- 00FF Debugger
-
-
- GS/OS Call Names
- Brought the list of GS/OS call names up to date for System Software 5.0.3.
- (The table doesn't have any Shell calls in there right now. Maybe it should.)
-
- Removed this call:
- $000E ExpandPath (becuase there's no class-0 version)
-
- Added these class-1 call names:
- $2029 Quit
- $2033 FSTSpecific
- $2034 AddNotifyProc
- $2035 DelNotifyProc
- $2036 DRename
- $2037 GetStdRefNum
- $2038 GetRefNum
- $2039 GetRefInfo
-
-
-
- What It Doesn't Do Yet
-
- Note--sometimes the debugger gets mysteriously disconnected from the Apple-Ctl-
- ESC vector. If you can reproduce this, let me know.
-
- Holding down Option occasionally overrides a memory-protect area, but it usually
- just crashes.
-
- Some of the help screens are incompelete or inaccurate.
-
- Templates currently limited to 64K. If template file >64K, it gets left open
- by accident.
-
- There's a harmless problem where hitting SPACE to single-step an RTS sometimes
- doesn't do anything at all.
-
- Using X to execute a JSR real-time has problems sometimes. It's been known to
- scramble the B register (if anyone has a reproducible case, let me know!), and
- I've seen it come back in $01/Fxxx space with the ROM enabled when the
- language card was supposed to be.
-
- Breakpoints don't work quite right in bank-switched memory, either (it doesn't
- store the original instruction into the right bank?).
-
- Being able to work with OS breaks by name instead of call number would be
- handy.
-
- Should show OS call names on a JSL $E100B0 (examine stack if stepping, and look
- for a PEA $xxxx in a disassembly).
-
- Install notify procedure so OS breaks still work after coming back from ProDOS
- 8.
-
- The debugger chains into the tool-dispatcher vectors its own way. It should
- use the standard method defined in GS Technical Note #87.
-
- There is no support for breaks on user tools. This is low priority becuase user
- tools are always in RAM, so you can always find your function yourself and set
- a Breakpoint there.
-
- Should make the Init version take exactly 64K to avoid mucking up memory use.
- This will also fix problems where tool calls made from the same bank as GSBug
- never trigger a tool break.
-
- Will implement pseudo Tool calls to set and clear debugger breakpoints under
- program control.
-
- May make the MEM locations labelable (and save labels in the config file).
-
- Unload should call UserShutDown on self (under ProDOS 8, just beep instead).
-
- The "D" command should parse more carefully than it currently does (it ought to
- let you use D as the first character of an address without difficulty).
-
- ----------
- See the 1.5b9 release notes for more information.
-